package com.ipartek.formacion.threads;

public class ThreadExample extends Thread {

	/**
	 * Al invoca al metodo sleep tendremos que capturar la excepcion que se
	 * produciria si mientras el thred esta durmiendo, desde otro lugar se
	 * invoca al metodo interupt() que acabaria con la ejecucion del hilo.
	 */

	@Override
	public final void run() {

		for (int i = 0; i < 5; i++) {
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				System.out.println("Hilo detenido");
			}
			System.out.println("Ejecutando hilo");
		}
	}

	/**
	 * Metodo principal.
	 * 
	 * @param args
	 *            Argumentos
	 * @throws InterruptedException
	 *             Excepcion de hilos
	 */
	public static void main(final String[] args) throws InterruptedException {

		ThreadExample hilo = new ThreadExample();
		hilo.setPriority(MAX_PRIORITY);
		hilo.start();

		for (int i = 5; i > 0; i--) {
			System.out.println("Otro proceso ejecutandose " + i + "/5");
			Thread.sleep(1000);
		}
	}
}
